package com.example.customer01.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 学生实体类
 * @TableName student
 */
@Data
@Accessors(chain = true)
@TableName("student")
public class Student {
    /**
     * 学生ID
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 学生编号
     */
    private String studentNumber;

    /**
     * 姓名
     */
    private String name;

    /**
     * 性别（男/女/其他）
     */
    private String gender;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 电子邮件
     */
    private String email;

    /**
     * 电话号码
     */
    private String phone;

    /**
     * 状态
     */
    private String status;

    /**
     * 专业
     */
    private String major;

    /**
     * 是否删除（0-未删除，1-已删除）
     */
    @TableLogic
    private Integer deleted;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    // 用于关联查询的选课信息列表
    @TableField(exist = false)
    private List<StudentCourse> studentCourses;
}